package com.ruoyi.collect.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 采集类型绑定对象 collect_bind
 * 用于将远程采集站点的分类映射到本地分类
 *
 * @author ruoyi
 * @date 2025-11-07
 */
public class CollectBind extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 绑定ID */
    private Long bindId;

    /** 绑定键(格式:siteflag_remotetypeid) */
    @Excel(name = "绑定键")
    private String bindKey;

    /** 站点ID */
    @Excel(name = "站点ID")
    private Long siteId;

    /** 站点标识 */
    @Excel(name = "站点标识")
    private String siteFlag;

    /** 远程类型ID */
    @Excel(name = "远程类型ID")
    private String remoteTypeId;

    /** 远程类型名称 */
    @Excel(name = "远程类型名称")
    private String remoteTypeName;

    /** 本地类型ID (对应genre_id或column_id) */
    @Excel(name = "本地类型ID")
    private Long localTypeId;

    /** 本地栏目值 (对应column_value字段) */
    private String localColumn;

    /** 本地类型名称 */
    @Excel(name = "本地类型名称")
    private String localTypeName;

    /** 资源类型(1=影视 2=文章 3=短视频) */
    @Excel(name = "资源类型", readConverterExp = "1=影视,2=文章,3=短视频")
    private String resourceType;

    /** 绑定状态(0=已绑定 1=未绑定) */
    @Excel(name = "绑定状态", readConverterExp = "0=已绑定,1=未绑定")
    private String bindStatus;

    /** 状态（0正常 1停用） */
    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
    private String status;

    public void setBindId(Long bindId)
    {
        this.bindId = bindId;
    }

    public Long getBindId()
    {
        return bindId;
    }

    public void setBindKey(String bindKey)
    {
        this.bindKey = bindKey;
    }

    public String getBindKey()
    {
        return bindKey;
    }

    public void setSiteId(Long siteId)
    {
        this.siteId = siteId;
    }

    public Long getSiteId()
    {
        return siteId;
    }

    public void setSiteFlag(String siteFlag)
    {
        this.siteFlag = siteFlag;
    }

    public String getSiteFlag()
    {
        return siteFlag;
    }

    public void setRemoteTypeId(String remoteTypeId)
    {
        this.remoteTypeId = remoteTypeId;
    }

    public String getRemoteTypeId()
    {
        return remoteTypeId;
    }

    public void setRemoteTypeName(String remoteTypeName)
    {
        this.remoteTypeName = remoteTypeName;
    }

    public String getRemoteTypeName()
    {
        return remoteTypeName;
    }

    public void setLocalTypeId(Long localTypeId)
    {
        this.localTypeId = localTypeId;
    }

    public Long getLocalTypeId()
    {
        return localTypeId;
    }

    public void setLocalColumn(String localColumn)
    {
        this.localColumn = localColumn;
    }

    public String getLocalColumn()
    {
        return localColumn;
    }

    public void setLocalTypeName(String localTypeName)
    {
        this.localTypeName = localTypeName;
    }

    public String getLocalTypeName()
    {
        return localTypeName;
    }

    public void setResourceType(String resourceType)
    {
        this.resourceType = resourceType;
    }

    public String getResourceType()
    {
        return resourceType;
    }

    public void setBindStatus(String bindStatus)
    {
        this.bindStatus = bindStatus;
    }

    public String getBindStatus()
    {
        return bindStatus;
    }

    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("bindId", getBindId())
            .append("bindKey", getBindKey())
            .append("siteId", getSiteId())
            .append("siteFlag", getSiteFlag())
            .append("remoteTypeId", getRemoteTypeId())
            .append("remoteTypeName", getRemoteTypeName())
            .append("localTypeId", getLocalTypeId())
            .append("localTypeName", getLocalTypeName())
            .append("resourceType", getResourceType())
            .append("bindStatus", getBindStatus())
            .append("status", getStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}